package cn.chengpengper.config;

/*@formatter:off*/

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * ____________________
 * < 神兽护体，永无bug! >
 * --------------------
 *
 * @author huchengpeng
 * @version v1.0.0
 * @date 2024/7/24 00:06
 * @description Redis 配置属性
 */

/*@formatter:on*/

@Data
@ConfigurationProperties(prefix = "redis.sdk.config", ignoreInvalidFields = true)
public class RedisClientConfigProperties {

    private String host;

    private int port;

    private String password;

    /**
     * 连接池的大小
     */
    private int poolSize = 64;

    /**
     * 最小空闲连接数
     */
    private int minIdleSize = 10;

    /**
     * 连接的最大空闲时间（ms），超过该时间的空闲连接将被关闭
     */
    private int idleTimeout = 10000;

    /**
     * 连接超时时间（ms）
     */
    private int connectTimeout = 10000;

    /**
     * 连接重试次数
     */
    private int retryAttempts = 3;

    /**
     * 连接重试的间隔时间（ms）
     */
    private int retryInterval = 1000;

    /**
     * 定期检查连接是否可用的时间间隔（ms）
     */
    private int pingInterval = 0;

    /**
     * 是否保持长连接
     */
    private boolean keepAlive = true;
}
